Załadowanie i wyświelenie danych, dane są cache’owane
head(data)
print(unique(data$Steps))
[1] 1 2 3 4 5 6
dim(data)
[1] 4351 17
Zbiór danych ma 17 atrybutów i 4351 rekordów.
sum(is.na(data))
Zbiór nie zawiera wartości brakujących.
column_names <- names(data)
category_attr <- column_names[1:5]
print(category_attr)
[1] "Battery.ID" "Battery.Formula" "Working.Ion" "Formula.Charge" "Formula.Discharge"
Zbiór zawiera 10 atrybutów numerycznych i 5 znakowe i 3 kategoryczne.
data %>%
skim() %>%
focus(n_missing)
── Data Summary ────────────────────────
Values
Name Piped data
Number of rows 4351
Number of columns 17
_______________________
Column type frequency:
character 5
numeric 12
________________________
Group variables None
data %>%
select(Working.Ion, Max.Delta.Volume:Stability.Discharge) %>%
group_by(Working.Ion) %>%
summarise(across(everything(), mean))
NA
Aby wyniki były powtarzalne, należy ustawić seed na stałą wartość.
set.seed(12)
Na przedstawionym wykresie zaprezentowano rozkład różnych głównych jonów używanych do transportu ładunku w bateriach. Wyraźnie dominuje lit (Li), który występuje znacznie częściej niż inne jony. Sugeruje to powszechne zastosowanie technologii opartych na litowo-jonowych rozwiązaniach, co jest zgodne z ich szerokim wykorzystaniem w przemyśle elektroniki i magazynowania energii. Pozostałe jony, takie jak wapń (Ca), magnez (Mg), i cynk (Zn), również znajdują zastosowanie, ale w znacznie mniejszym zakresie. Obecność jonów takich jak sód (Na) i potas (K) wskazuje na badania nad alternatywami dla litu, jednak ich zastosowanie jest obecnie ograniczone.
Najczęściej występującymi wzorami są MnO2, TiO2, Vo2, CrO2, NiO2, FeO2. Wszystkie zawierają cząsteczkę O2.
ggplot(data, aes(x = Average.Voltage)) +
geom_density(fill = "skyblue", alpha = 0.5) +
labs(title = "Density Plot of Max.Delta.Volume",
x = "Max Delta Volume",
y = "Density") +
theme_minimal()
continous_data <- select(data, (Max.Delta.Volume:Stability.Discharge))
continous_data
for (attr_name in names(continous_data)) {
p <- ggplot(continous_data, aes_string(x = attr_name)) +
geom_histogram(binwidth = 1, fill = "skyblue", color = "black") +
labs(title = paste("Density Plot of", attr_name),
x = attr_name,
y = "Density") +
theme_minimal()
print(p)
}
NA
NA
NA
NA
library(corrplot)
number_attr_data <- select(data, (Max.Delta.Volume:Max.Voltage.Step))#Stability.Discharge))
corrplot(cor(number_attr_data),
method = "number",
type = "upper",
tl.cex = 0.8,
number.cex = 0.5
)
Najwyższy wspolczynnik koorelacji wystepuje pomiedzy parami atrybutów: - Gravimetric Energy i Volumetric Energy - Gravimetric Capcity i Volumetric Capacity - Stability Charge i Stability Discharge - Gravimetric Capacity i Atomic Fraction Discharge - Average Voltage i Gravimetric Energy
# Sample data frame
# data <- data.frame(Volumetric.Energy = c(...))
library(plotly)
# Create the interactive boxplot
for (attr_name in names(number_attr_data)) {
p <- plot_ly(
number_attr_data,
y = ~get(attr_name), # Use get() to refer to the column dynamically
type = "box",
boxpoints = "all",
jitter = 0.3,
pointpos = -1.8
) %>%
layout(
title = paste("Boxplot of", attr_name),
yaxis = list(title = attr_name)
)
# Display the plot
print(p)
}
NA
# Perform ANOVA
#anova_result <- aov(Max.Delta.Volume ~ Battery.Formula, data = data)
#summary(anova_result)
anova_result <- aov(Volumetric.Energy ~ Battery.Formula, data = data)
summary(anova_result)